Dynamic network awareness

ABSTRACT

Systems and methods for managing a network are disclosed. One method can comprise determining presence of a first network device associated with a network. If the first network device is not present, a second network device can be configured to assume authority of the network. If the first network device is present, the second network device can be configured to join the network. Other aspects relate to providing services in an environment having multiple service providers.

BACKGROUND

Networks, such as a customer premises networking environment, caninclude one or more networking devices. In certain situations, one ormore networking devices can each assume they are authoritative for theentire network or premise. This assumption often leads to conflicts anddoes not allow multiple networking devices to service the needs ofend-users independently.

Known solutions often assume that customers or end users have a specificdegree of know how or knowledge to manually configure networking devicesto operate in the desired manner. There are cases where even manualconfiguration is not viable, leaving providers and consumers without themeans to configure premises networks to meet the growing requirementsfor advanced services throughout the premise. These and othershortcomings are addressed by the present disclosure.

SUMMARY

It is to be understood that both the following general description andthe following detailed description are exemplary and explanatory onlyand are not restrictive, as claimed. Disclosed are methods and systemsfor providing network services to one or more user devices, clients, orsub-networks. The methods and systems described herein, in one aspect,can comprise automatically and dynamically configuring one or morenetworking devices to adapt to network conditions and authoritativeconflicts. Also described are techniques to avoid and prevent coverageand/or provisioning overlap by networking devices.

In another aspect, methods can comprise providing a first service via afirst network device and providing a second service via a second networkdevice. The first service can be different from the second service, orthe first service can be the same/similar to the second service.Conflicts between the first network device and the second network devicecan be detected and one or more of the first network device and thesecond network device can be automatically configured to resolve thedetected conflict.

In another aspect, methods can comprise receiving first information viaa first network device, the first information relating to a service,wherein the first network device is associated with a first serviceprovider. Second information can be provided via a second network devicebased on the first information received via the first network device,wherein the second information facilitates provision of a service.

In a further aspect, a method can comprise detecting a network having afirst network device associated therewith. The method can furthercomprise configuring a second network device to join the network. Firstavailability information relating to one or more first servicesavailable via the network can be provided by the first network device,wherein the first network device is configured to provide the one ormore first services. Second availability information relating to one ormore second services available via the network can be provided by thesecond network device, wherein the second network device is configuredto provide the one or more second services.

Additional advantages will be set forth in part in the description whichfollows or may be learned by practice. The advantages will be realizedand attained by means of the elements and combinations particularlypointed out in the appended claims. It is to be understood that both theforegoing general description and the following detailed description areexemplary and explanatory only and are not restrictive, as claimed.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute apart of this specification, illustrate embodiments and together with thedescription, serve to explain the principles of the methods and systems:

FIG. 1 is a block diagram of an exemplary system and network;

FIG. 2 is a block diagram of an exemplary computing device;

FIG. 3 is a diagram of an exemplary system and network;

FIG. 4 is a diagram of an exemplary system and network;

FIG. 5 is a flow chart of an exemplary method;

FIG. 6 is a flow chart of an exemplary method;

FIG. 7 is a flow chart of an exemplary method; and

FIG. 8 is a flow chart of an exemplary method.

DETAILED DESCRIPTION

Before the present methods and systems are disclosed and described, itis to be understood that the methods and systems are not limited tospecific methods, specific components, or to particular implementations.It is also to be understood that the terminology used herein is for thepurpose of describing particular embodiments only and is not intended tobe limiting.

As used in the specification and the appended claims, the singular forms“a,” “an,” and “the” include plural referents unless the context clearlydictates otherwise. Ranges may be expressed herein as from “about” oneparticular value, and/or to “about” another particular value. When sucha range is expressed, another embodiment includes from the oneparticular value and/or to the other particular value. Similarly, whenvalues are expressed as approximations, by use of the antecedent“about,” it will be understood that the particular value forms anotherembodiment. It will be further understood that the endpoints of each ofthe ranges are significant both in relation to the other endpoint, andindependently of the other endpoint.

“Optional” or “optionally” means that the subsequently described eventor circumstance may or may not occur, and that the description includesinstances where said event or circumstance occurs and instances where itdoes not.

Throughout the description and claims of this specification, the word“comprise” and variations of the word, such as “comprising” and“comprises,” means “including but not limited to,” and is not intendedto exclude, for example, other components, integers or steps.“Exemplary” means “an example of” and is not intended to convey anindication of a preferred or ideal embodiment. “Such as” is not used ina restrictive sense, but for explanatory purposes.

Disclosed are components that can be used to perform the disclosedmethods and systems. These and other components are disclosed herein,and it is understood that when combinations, subsets, interactions,groups, etc. of these components are disclosed that while specificreference of each various individual and collective combinations andpermutation of these may not be explicitly disclosed, each isspecifically contemplated and described herein, for all methods andsystems. This applies to all aspects of this application including, butnot limited to, steps in disclosed methods. Thus, if there are a varietyof additional steps that can be performed it is understood that each ofthese additional steps can be performed with any specific embodiment orcombination of embodiments of the disclosed methods.

The present methods and systems may be understood more readily byreference to the following detailed description of preferred embodimentsand the examples included therein and to the Figures and their previousand following description.

As will be appreciated by one skilled in the art, the methods andsystems may take the form of an entirely hardware embodiment, anentirely software embodiment, or an embodiment combining software andhardware aspects. Furthermore, the methods and systems may take the formof a computer program product on a computer-readable storage mediumhaving computer-readable program instructions (e.g., computer software)embodied in the storage medium. More particularly, the present methodsand systems may take the form of web-implemented computer software. Anysuitable computer-readable storage medium may be utilized including harddisks, CD-ROMs, optical storage devices, or magnetic storage devices.

Embodiments of the methods and systems are described below withreference to block diagrams and flowchart illustrations of methods,systems, apparatuses and computer program products. It will beunderstood that each block of the block diagrams and flowchartillustrations, and combinations of blocks in the block diagrams andflowchart illustrations, respectively, can be implemented by computerprogram instructions. These computer program instructions may be loadedonto a general purpose computer, special purpose computer, or otherprogrammable data processing apparatus to produce a machine, such thatthe instructions which execute on the computer or other programmabledata processing apparatus create a means for implementing the functionsspecified in the flowchart block or blocks.

These computer program instructions may also be stored in acomputer-readable memory that can direct a computer or otherprogrammable data processing apparatus to function in a particularmanner, such that the instructions stored in the computer-readablememory produce an article of manufacture including computer-readableinstructions for implementing the function specified in the flowchartblock or blocks. The computer program instructions may also be loadedonto a computer or other programmable data processing apparatus to causea series of operational steps to be performed on the computer or otherprogrammable apparatus to produce a computer-implemented process suchthat the instructions that execute on the computer or other programmableapparatus provide steps for implementing the functions specified in theflowchart block or blocks.

Accordingly, blocks of the block diagrams and flowchart illustrationssupport combinations of means for performing the specified functions,combinations of steps for performing the specified functions and programinstruction means for performing the specified functions. It will alsobe understood that each block of the block diagrams and flowchartillustrations, and combinations of blocks in the block diagrams andflowchart illustrations, can be implemented by special purposehardware-based computer systems that perform the specified functions orsteps, or combinations of special purpose hardware and computerinstructions.

As described in greater detail below, in one aspect of the disclosure, asystem can be configured to provide services such as network-relatedservices to a user device. FIG. 1 illustrates various aspects of anexemplary environment in which the present methods and systems canoperate. The present disclosure is relevant to systems and methods forproviding services to a device, for example, a user device such as acomputer, tablet, mobile device, communications terminal, or the like.In an aspect, one or more network devices can be configured to providevarious services to one or more devices, such as devices located at ornear a premises. In another aspect, the network devices can beconfigured to recognize an authoritative device for the premises and/ora particular service or services available at the premises. As anexample, an authoritative device can be configured to govern or enableconnectivity to a network such as the Internet or other remoteresources, provide address and/or configuration services like DHCP,and/or provide naming or service discovery services for a premises, or acombination thereof. Those skilled in the art will appreciate thatpresent methods may be used in various types of networks and systemsthat employ both digital and analog equipment. One skilled in the artwill appreciate that provided herein is a functional description andthat the respective functions can be performed by software, hardware, ora combination of software and hardware.

The network and system can comprise a user device 102 in communicationwith a computing device 104 such as a server, for example. The computingdevice 104 can be disposed locally or remotely relative to the userdevice 102. As an example, the user device 102 and the computing device104 can be in communication via a private and/or public network 105 suchas the Internet or a local area network. Other forms of communicationscan be used such as wired and wireless telecommunication channels, forexample.

In an aspect, the user device 102 can be an electronic device such as acomputer, a smartphone, a laptop, a tablet, a set top box, a displaydevice, or other device capable of communicating with the computingdevice 104. As an example, the user device 102 can comprise acommunication element 106 for providing an interface to a user tointeract with the user device 102 and/or the computing device 104. Thecommunication element 106 can be any interface for presenting and/orreceiving information to/from the user, such as user feedback. Anexample interface may be communication interface such as a web browser(e.g., Internet Explorer, Mozilla Firefox, Google Chrome, Safari, or thelike). Other software, hardware, and/or interfaces can be used toprovide communication between the user and one or more of the userdevice 102 and the computing device 104. As an example, thecommunication element 106 can request or query various files from alocal source and/or a remote source. As a further example, thecommunication element 106 can transmit data to a local or remote devicesuch as the computing device 104.

In an aspect, the user device 102 can be associated with a useridentifier or device identifier 108. As an example, the deviceidentifier 108 can be any identifier, token, character, string, or thelike, for differentiating one user or user device (e.g., user device102) from another user or user device. In a further aspect, the deviceidentifier 108 can identify a user or user device as belonging to aparticular class of users or user devices. As a further example, thedevice identifier 108 can comprise information relating to the userdevice such as a manufacturer, a model or type of device, a serviceprovider associated with the user device 102, a state of the user device102, a locator, and/or a label or classifier. Other information can berepresented by the device identifier 108.

In an aspect, the device ter 108 can comprise an address element 110 anda service element 112. In an aspect, the address element 110 cancomprise or provide an internet protocol address, a network address, amedia access control (MAC) address, an Internet address, or the like. Asan example, the address element 110 can be relied upon to establish acommunication session between the user device 102 and the computingdevice 104 or other devices and/or networks. As a further example, theaddress element 110 can be used as an identifier or locator of the userdevice 102. In an aspect, the address element 110 can be persistent fora particular network.

In an aspect, the service element 112 can comprise an identification ofa service provider associated with the user device 102 and/or with theclass of user device 102. The class of the user device 102 can berelated to a type of device, capability of device, type of service beingprovided, and/or a level of service (e.g., business class, service tier,service package, etc.). As an example, the service element 112 cancomprise information relating to or provided by a communication serviceprovider (e.g., Internet service provider) that is providing or enablingdata flow such as communication services to the user device 102. As afurther example, the service element 112 can comprise informationrelating to a preferred service provider for one or more particularservices relating to the user device 102. In an aspect, the addresselement 110 can be used to identify or retrieve data from the serviceelement 112, or vise versa. As a further example, one or more of theaddress element 110 and the service element 112 can be stored remotelyfrom the user device 102 and retrieved by one or more devices such asthe user device 102 and the computing device 104. Other information canbe represented by the service element 112.

In an aspect, the computing device 104 can be a server for communicatingwith the user device 102. As an example, the computing device 104 cancommunicate with the user device 102 for providing data and/or services.As an example, the computing device 104 can provide services such asnetwork (e.g., Internet) connectivity, network printing, mediamanagement (e.g., media server), content services, streaming services,broadband services, or other network-related services. In an aspect, thecomputing device 104 can allow the user device 102 to interact withremote resources such as data, devices, and files. As an example, thecomputing device can be configured as (or disposed at) a centrallocation (e.g., a headend, or processing facility), which can receivecontent (e.g., data, input programming) from multiple sources. Thecomputing device 104 can combine the content from the multiple sourcesand can distribute the content to user (e.g., subscriber) locations viaa distribution system.

In an aspect, the computing device 104 can manage the communicationbetween the user device 102 and a database 114 for sending and receivingdata therebetween. As an example, the database 114 can store a pluralityof files (e.g., web pages), user identifiers or records, or otherinformation. As a further example, the user device 102 can requestand/or retrieve a file from the database 114. In an aspect, the database114 can store information relating to the user device 102 such as theaddress element 110 and/or the service element 112. As an example, thecomputing device 104 can obtain the device identifier 108 from the userdevice 102 and retrieve information from the database 114 such as theaddress element 110 and/or the service elements 112. As a furtherexample, the computing device 104 can obtain the address element 110from the user device 102 and can retrieve the service element 112 fromthe database 114, or vice versa. Any information can be stored in andretrieved from the database 114. The database 114 can be disposedremotely from the computing device 104 and accessed via direct orindirect connection. The database 114 can be integrated with thecomputing system 104 or some other device or system.

In an aspect, one or more network devices 116 can be in communicationwith a network such as network 105. As an example, one or more of thenetwork devices 116 can facilitate the connection of a device, such asuser device 102, to the network 105. As a further example, one or moreof the network devices 116 can be configured as a wireless access point(WAP). In an aspect, one or more network devices 116 can be configuredto allow one or more wireless devices to connect to a wired and/orwireless network using Wi-Fi, Bluetooth or any desired method orstandard.

In an aspect, the network devices 116 can be configured as a local areanetwork (LAN). As an example, one or more network devices 116 cancomprise a dual band wireless access point. As an example, the networkdevices 116 can be configured with a first service set identifier (SSID)(e.g., associated with a user network or private network) to function aslocal network for a particular user or users. As a further example, thenetwork devices 116 can be configured with a second service setidentifier (SSID) (e.g., associated with a public/community network or ahidden network) to function as a secondary network or redundant networkfor connected communication devices.

In an aspect, one or more network devices 116 can comprise an identifier118. As an example, one or more identifiers can be or relate to anInternet Protocol (IP) Address IPV4/IPV6 or a media access controladdress (MAC address) or the like. As a further example, one or moreidentifiers 118 can be a unique identifier for facilitatingcommunications on the physical network segment. In an aspect, each ofthe network devices 116 can comprise a distinct identifier 118. As anexample, the identifiers 118 can be associated with a physical locationof the network devices 116.

In an aspect, one or more network devices 116 can be configured todynamically detect its role (e.g., authoritative device, client, etc.)and to identify and apply the required configuration to either provideservices, including broadband, video, and the like, to an entirepremises or to join an existing premises network to provide a subset ofservices that leverage an existing premises network infrastructure. Anexisting premises network could be provided by an operator, for example,an operator that uses a similar technology and protocols for providingaccess to services such as IP services, or an operator that leverages acompletely different type of access technology or protocols. As anexample one or more network devices 116 can be coupled to an existingpremises network. As a further example, a particular one of the networkdevices 116 can be configured to be an authoritative device for anetwork such as a local network (e.g., premises network). In an aspect,an authoritative device can be configured to govern or enableconnectivity to the Internet or other remote resources, provide addressand/or configuration services like DHCP, and/or provide naming orservice discovery services for a premises, or a combination thereof.

In an exemplary aspect, the methods and systems can be implemented on acomputing system, such as computing device 201 as illustrated in FIG. 2and described below. By way of example, one or more of the user device102, the computing device 104, and/or the network device 116 of FIG. 1can be a computer as illustrated in FIG. 2. Similarly, the methods andsystems disclosed can utilize one or more computers to perform one ormore functions in one or more locations. FIG. 2 is a block diagramillustrating an exemplary operating environment for performing thedisclosed methods. This exemplary operating environment is only anexample of an operating environment and is not intended to suggest anylimitation as to the scope of use or functionality of operatingenvironment architecture. Neither should the operating environment beinterpreted as having any dependency or requirement relating to any oneor combination of components illustrated in the exemplary operatingenvironment.

The present methods and systems can be operational with numerous othergeneral purpose or special purpose computing system environments orconfigurations. Examples of well known computing systems, environments,and/or configurations that can be suitable for use with the systems andmethods comprise, but are not limited to, personal computers, servercomputers, laptop devices, and multiprocessor systems. Additionalexamples comprise set top boxes, programmable consumer electronics,network PCs, minicomputers, mainframe computers, distributed computingenvironments that comprise any of the above systems or devices, and thelike.

The processing of the disclosed methods and systems can be performed bysoftware components. The disclosed systems and methods can be describedin the general context of computer-executable instructions, such asprogram modules, being executed by one or more computers or otherdevices. Generally, program modules comprise computer code, routines,programs, objects, components, data structures, etc. that performparticular tasks or implement particular abstract data types. Thedisclosed methods can also be practiced in grid-based and distributedcomputing environments where tasks are performed by remote processingdevices that are linked through a communications network. In adistributed computing environment, program modules can be located inboth local and remote computer storage media, including memory storagedevices.

Further, one skilled in the art will appreciate that the systems andmethods disclosed herein can be implemented via a general-purposecomputing device in the form of a computing device 201. The componentsof the computing device 201 can comprise, but are not limited to, one ormore processors or processing units 203, a system memory 212, and asystem bus 213 that couples various system components including theprocessor 203 to the system memory 212. In the case of multipleprocessing units 203, the system can utilize parallel computing.

The system bus 213 represents one or more of several possible types ofbus structures, including a memory bus or memory controller, aperipheral bus, an accelerated graphics port, and a processor or localbus using any of a variety of bus architectures. By way of example, sucharchitectures can comprise an Industry Standard Architecture (ISA) bus,a Micro Channel Architecture (MCA) bus, an Enhanced ISA (EISA) bus, aVideo Electronics Standards Association (VESA) local bus, an AcceleratedGraphics Port (AGP) bus, and a Peripheral Component Interconnects (PCI),a PCI-Express bus, a Personal Computer Memory Card Industry Association(PCMCIA), Universal Serial Bus (USB) and the like. The bus 213, and allbuses specified in this description can also be implemented over a wiredor wireless network connection and each of the subsystems, including theprocessor 203, a mass storage device 204, an operating system 205,network software 206, network data 207, a network adapter 208, systemmemory 212, an Input/Output Interface 210, a display adapter 209, adisplay device 211, and a human machine interface 202, can be containedwithin one or more remote computing devices 214 a,b,c at physicallyseparate locations, connected through buses of this form, in effectimplementing a fully distributed system.

The computing device 201 typically comprises a variety of computerreadable media. Exemplary readable media can be any available media thatis accessible by the computing device 201 and comprises, for example andnot meant to be limiting, both volatile and non-volatile media,removable and non-removable media. The system memory 212 comprisescomputer readable media in the form of volatile memory, such as randomaccess memory (RAM), and/or non-volatile memory, such as read onlymemory (ROM). The system memory 212 typically contains data such asnetwork data. 207 and/or program modules such as operating system 205and network software 206 that are immediately accessible to and/or arepresently operated on by the processing unit 203.

In another aspect, the computing device 201 can also comprise otherremovable/non-removable, volatile/non-volatile computer storage media.By way of example, FIG. 2 illustrates a mass storage device 204 whichcan provide non-volatile storage of computer code, computer readableinstructions, data structures, program modules, and other data for thecomputing device 201. For example and not meant to be limiting, a massstorage device 204 can be a hard disk, a removable magnetic disk, aremovable optical disk, magnetic cassettes or other magnetic storagedevices, flash memory cards, CD-ROM, digital versatile disks (DVD) orother optical storage, random access memories (RAM), read only memories(ROM), electrically erasable programmable read-only memory (EEPROM), andthe like.

Optionally, any number of program modules can be stored on the massstorage device 204, including by way of example, an operating system 205and network software 206. Each of the operating system 205 and networksoftware 206 (or some combination thereof) can comprise elements of theprogramming and the network software 206. Network data 207 can also bestored on the mass storage device 204. Network data 207 can be stored inany of one or more databases known in the art. Examples of suchdatabases comprise, DB2®, Microsoft® Access, Microsoft® SQL Server,Oracle®, mySQL, PostgreSQL, and the like. The databases can becentralized or distributed across multiple systems.

In another aspect, the user can enter commands and information into thecomputing device 201 via an input device (not shown). Examples of suchinput devices comprise, but are not limited to, a keyboard, pointingdevice (e.g., a “mouse”), a microphone, a joystick, a scantier, tactileinput devices such as gloves, and other body coverings, and the like.These and other input devices can be connected to the processing unit203 via a human machine interface 202 that is coupled to the system bus213, but can be connected by other interface and bus structures, such asa parallel port, game port, an IEEE 1394 Port (also known as a Firewireport), a serial port, or a universal serial bus (USB).

In yet another aspect, a display device 211 can also be connected to thesystem bus 213 via an interface, such as a display adapter 209. It iscontemplated that the computing device 201 can have more than onedisplay adapter 209 and the computer 201 can have more than one displaydevice 211. For example, a display device can be a monitor, an LCD(Liquid Crystal Display), or a projector. In addition to the displaydevice 211, other output peripheral devices can comprise components suchas speakers (not shown) and a printer (not shown) which can be connectedto the computing device 201 via Input/Output Interface 210. Any stepand/or result of the methods can be output in any form to an outputdevice. Such output can be any form of visual representation, including,but not limited to, textual, graphical, animation, audio, tactile, andthe like. The display 211 and computing device 201 can be part of onedevice, or separate devices.

The computing device 201 can operate in a networked environment usinglogical connections to one or more remote computing devices 214 a,b,c.By way of example, a remote computing device can be a personal computer,portable computer, a smart phone, a server, a router, a networkcomputer, a peer device or other common network node, and so on. Logicalconnections between the computing device 201 and a remote computingdevice 214 a,b,c can be made via a network 215, such as a local areanetwork (LAN) and a general wide area network (WAN). Such networkconnections can be through a network adapter 208. A network adapter 208can be implemented in both wired and wireless environments. Suchnetworking environments are conventional and commonplace in dwellings,offices, enterprise-wide computer networks, intranets, and the Internet.

For purposes of illustration, application programs and other executableprogram components such as the operating system 205 are illustratedherein as discrete blocks, although it is recognized that such programsand components reside at various times in different storage componentsof the computing device 201, and are executed by the data processors) ofthe computer. An implementation of network software 206 can be stored onor transmitted across some form of computer readable media. Any of thedisclosed methods can be performed by computer readable instructionsembodied on computer readable media. Computer readable media can be anyavailable media that can be accessed by a computer. By way of exampleand not meant to be limiting, computer readable media can comprise“computer storage media” and “communications media.” “Computer storagemedia” comprise volatile and non-volatile, removable and non-removablemedia implemented in any methods or technology for storage ofinformation such as computer readable instructions, data structures,program modules, or other data. Exemplary computer storage mediacomprises, but is not limited to, RAM, ROM, EEPROM, flash memory orother memory technology, CD-ROM, digital versatile disks (DVD) or otheroptical storage, magnetic cassettes, magnetic tape, magnetic diskstorage or other magnetic storage devices, or any other medium which canbe used to store the desired information and which can be accessed by acomputer.

The methods and systems can employ Artificial Intelligence techniquessuch as machine learning and iterative learning. Examples of suchtechniques include, but are not limited to, expert systems, case basedreasoning, Bayesian networks, behavior based AI, neural networks, fuzzysystems, evolutionary computation (e.g. genetic algorithms), swarmintelligence (e.g. ant algorithms), and hybrid intelligent systems (e.g.expert, inference rules generated through a neural network or productionrules from statistical learning).

FIGS. 3-4 illustrate an exemplary system and network. In an aspect, aplurality of nodes 302 a, 302 b, 302 c, 302 d can be in communicationwith one or more user devices 303 and one or more network devices 304 a,304 b. As an example, one or more nodes can be a network access point,router, switch, communication device, or the like. As another example,one or more user devices 303 can be an electronic device such as acomputer, a smartphone a laptop, a tablet, a set top box, a displaydevice (e.g., television), or other device capable of communicating withone or more of the nodes 302 a, 302 b, 302 c, 302 d of the network. As afurther example, one or more of the network devices 304 a, 304 b can bea gateway, router, switch, communication device terminal server, cablemodem termination system, and the like.

In an aspect, one or more of the nodes 302 a, 302 b, 302 c, 302 d can beconfigured to communicate with another of the nodes 302 a, 302 b, 302 c,302 d and/or one or more of the network devices 304 a, 304 b via one ormore communication paths 306, which can be wired, wireless, orcombination thereof. In an aspect, the one or more communication paths306 can comprise one or more uninterrupted communication links,sequential links, pre-defined paths or links, and/or intervening nodes.Links can comprise a single point to point connection between twodevices or access points. Paths can comprise one or more links. As anexample, one or more of the communication paths can comprise one or moreof the nodes 302 a, 302 b, 302 c, 302 d. As a further example, one ormore of the nodes 302 a, 302 b, 302 c, 302 d can be configured as awireless network. In an aspect, one or more of the communication paths306 can be configured to transmit (e.g., wired or wireless) one or moreservices.

In an aspect, one or more of the nodes 302 a, 302 b, 302 c, 302 d and/orthe networking devices 304 a, 304 b can comprise an identifier 308. Asan example, one or more identifiers 308 can be an Internet Protocol (IP)Address IPV4/IPV6 or a media access control address (MAC address), orthe like. Any uniquely identifiable attribute can be used as theidentifier 308. Such attributes can comprise one or more of an IPAddress, serial number, latitude/longitude, geo-encoding, customassigned unique identifier, global unique identifier (GUID), and thelike. As a further example, one or more identifiers 308 can be a uniqueidentifier for facilitating communications on the physical networksegment. In an aspect, each of the nodes 302 a, 302 b, 302 c, 302 d cancomprise a distinct identifier 308. As an example, the identifiers 308can be associated with a physical location of the nodes 302 a, 302 b,302 c, 302 d.

In an aspect, one or more service providers 310 a, 310 b can be incommunication with one or more network devices 304 a, 304 b. The serviceproviders 310 a, 310 b can comprise security architecture for thenetwork of nodes 302 a, 302 b, 302 c, 302 d or other distributedsystems. As an example, the service providers 310 a, 310 b can controlwhich user devices (e.g., user device 303) are allowed access to whichservices. As a further example, the service providers 310 a, 310 b cancontrol the resources available to the network of nodes 302 a, 302 b,302 c, 302 d and/or network devices 304 a, 304 b.

As shown in FIG. 3, one or more of the network devices 304 a, 304 b candetect an existing network such as a premises network or local areanetwork, for example. Various techniques can be used for detecting anexisting network. As an example, detection of an existing DHCPv4 and/orDHCPv6 server is one technique. As a further example, IPv6 routerdetection can be implemented as a specific technique for IPv6 networks.In the case where DHCP is being detected, the joining node that iscompliant with this approach can initiate a DHCPv6 client to attemptactive DHCP servers. Joining nodes can also passively detect thepresence of one or more IPv6 routers by interrogating specific types ofnetwork communications. Joining nodes can also communicate with known IPaddresses to detect the presence of other devices which may includerouters.

In an aspect, the network device 304 a can detect network device 304 bas the authoritative device of a network, such as a premises network(e.g., LAN). In another aspect, the network device 304 a can dynamicallyconfigure itself or can be configured to join the existing network, suchas the detected premises network. As an example, such a mode ofoperation can facilitate the delivery of services within a premises thatmay not be offered by a primary premises network operator (e.g., serviceprovider servicing the existing network. As another example, the networkdevice 304 b can provide certain services (e.g., broadband) to thepremises, while the network device 304 a can provide other services(e.g., video services, content services, etc.) to the premises.

In an aspect, one or more network devices 304 a, 304 b can initialize a.DHCPv4 client and send a request for a dynamically assigned IPv4address. As an example, if assigned an IPv4 address via DHCPv4, theDHCPv4 server is another device on the network, and the assigned IPv4address facilitates network connectivity. As such, the premisesnetworking devices (e.g., networking device 304 a) may not attempt to beauthoritative for the premises for IPv4. In turn the premise-networkingdevice networking device 304 a) can join the existing network as aclient. As a further example, if IPv4 provisioning or configurationfails the premise-networking device (e.g., networking device 304 a) canassume authority for IPv4 services in the premises and can configureitself accordingly.

In an aspect, one or more network devices 304 a, 304 h can initialize anIPv6 router and neighbor discovery and/or DHCPv6 to implement dynamicIPv6 configuration. As an example, if the premise-networking device(e.g., networking device 304 a) detects a default router for IPv6 andthe default router is another device on the premises network, thepremises-networking device can attempt both IPv6 auto-configurationand/or DHCPv6 to acquire IPv6 addressing as governed by parameterstransmitted as part of IPv6 router discovery and neighbor discovery. Ifthe premise-networking device (e.g., networking device 304 a) isprovisioned with an IPv6 address from or as a result of another deviceon the premises network, the premises networking devices (e.g.,networking device 304 a) may not attempt to be authoritative for thepremises for IPv6. In turn, the premise-networking device (e.g.,networking device 304 a) can join the existing network as a client. As afurther example, if IPv6 provisioning or configuration fails, thepremise-networking device (e.g., networking device 304 a) can assumeauthority for IPv6 services in the premises and can configure itselfaccordingly. In another aspect, one device can assume authority forIPv6, while another device can assume authority for IPv4. Otherauthority configurations can be implemented.

In an aspect, one of a first network device (e.g., networking device 304a) and a second network device (e.g., networking device 304 b) canrequest a service be provided. In another aspect, the service can beprovided via the non-requesting network device. As an example, thesecond network device can request the delivery of data (e.g., content),but the delivery of the requested data is provided via the first networkdevice. As another example, the first network device can provide commandand control information to a first service provider (e.g., serviceprovider 310 a), but the actual command and control can be implementedvia a service provided via the second network device associated with thesecond service provider (e.g., service provider 310 b). As a furtherexample, the first network device can authenticate a request for servicewith a first service provider. Once authenticated, the requested servicecan be provided via the second network device, which my not beassociated with the first service provider.

As shown in FIG. 4, a network device 304 a can be configured to beauthoritative for a network such as a premises network. In an aspect,for IPv4, the network device 304 a can be configured to minimallyinitialize and enable services, such as IPv4 NAT, DHCPv4 server andclient or the like. As an example, IPv4 NAT can facilitate sharing of asingle IPv4 address across multiple networked devices. As a furtherexample, a DHCPv4 server and client can allow hosts in the premises todynamically request and be assigned IPv4 addresses [IETF RFC2131]. Theallocation of RFC1918 private IPv4 addresses can be configuredminimally. Similar techniques can be implemented in IPv6 and DHCPv6.

In an aspect, for IPv6, the network device 304 a can be configured tominimally initialize and enable services, such as IPv6 routing andsecurity services, IPv6 router and neighbor discovery, DHCPv6 server andclient, or the like. As another example, IPv6 router and neighbordiscovery—as specified by IETF RFC4861 and RFC4862. This should alsoinclude enabling support for IPv6 auto-configuration within the premise.

As a further example, DHCPv6 server and client—this allows for hosts inthe premises to dynamically request and be assigned IPv6 addresses andprefixes [IETF RFC3315, RFC3633]. It is assumed that globally mutableIPv6 address space will minimally be allocated to the premise. As suchit is assumed that no IPv6 address sharing will be used in the premise.Other types IPv6 address space can be used.

In another aspect, an authoritative networking device 304 a candynamically detect and prevent other premises networking devices fromgaining authoritative control over the premise. As an example, theauthoritative premises networking device can perform at least one ormore of the following:

1. Continually monitor and detect the existence of other devices thatare attempting to provide services; and/or

2. Continually monitor and detect the existence of other devices thatare attempting to use the same IP configuration of the intendedauthoritative device.

Upon detection of one or more devices attempting to provide services(e.g., IP-related services) for the premises or a conflict, or attempteduse, of the authoritative premises network device's IP configuration,the intended authoritative device can disable the alternate devices. Theauthoritative device can initialize an IP interface that intentionallycreates an IP conflict that can prevent the other devices frominitializing. Further, the authoritative device can, in turn,reconfigure its IP interface with settings that are unique andnon-conflicting, while maintaining the conflicting configurations. Suchoperation can prevent or disable the delivery of unauthorized IPservices in the premise, as well as address attempts to leverageoverlapping IP configurations in the premise.

In an aspect, provided are methods for managing a network. An exemplarymethod is shown in FIG. 5. In step 502, one or more of a presence orcharacteristic of a device can be determined. In an aspect, the devicecan be a first network device associated with a network such as a localarea network. In another aspect, the device can be a network devicesupporting IPv4 or IPv6 or both. As an example, the local area networkcan be associated with a particular premise, such as a user's home oroffice, or the like. As another example, determining the presence of afirst network device can comprise requesting an IPv4 address. In anaspect, a DHCPv4 client can be initialized and a request can betransmitted for a dynamically assigned IPv4 address. If an IPv4 addressis assigned via DHCPv4, it can be assumed that the DHCPv4 server isanother device on the network. As a further example, determining thepresence of a first network device can comprise neighbor discovery IPv6functionality). If alignment is required with IPv4, address resolutionprotocol (ARP) can be used.

In step 504, a device can be configured to assume authority of anetwork. In an aspect, an authoritative device can be configured togovern or enable connectivity to the Internet (or other network) orother remote resources, provide address and/or configuration serviceslike DHCP, and/or provide naming or service discovery services for apremises, or a combination thereof. In another aspect, if the presenceof the first network device is not detected, a second network device canbe configured to assume authority of the network. In another aspect, ifan authoritative device is not detected on a network, a device can beconfigured to assume authority of the network. As an example, the devicecan be a second networking device configured to support IPv4 or IPv6 orboth. An authoritative networking device can dynamically detect andprevent other premises networking devices from gaining authoritativecontrol over the premise. As an example, the authoritative premisesnetworking device can perform at least one or more of the following:

1. Continually monitor and detect the existence of other devices thatare attempting to provide services; and/or

2. Continually monitor and detect the existence of other devices thatare attempting to use the same IP configuration of the intendedauthoritative device.

In step 506, a device can be configured to join an existing network. Inan aspect, if the first network device is present, a second networkdevice can be configured to join a network associated with the firstnetwork device. As an example, the device can be a second networkingdevice configured to support IPv4 or IPv6 or both. As a further example,a joining device or node can access resources and communicate with othertypes of devices in the same premises or the Internet, while notdirectly providing authoritative services to other adjacent nodes ordevices. In such a case, it is possible that the joining node can join anetwork and communicate or interact with other devices to enablenon-authoritative services like those related to voice, video, orcontent.

In an aspect, provided are methods for managing a network. An exemplarymethod is shown in FIG. 6. In step 602, a first service can be provided.As an example, the first service can comprise IPv4 NAT service, DHCPv4server and client service, IPv6 routing and security service, IPv6router discovery, IPv6 neighbor discovery, or IPv6 server and clientservice, or a combination thereof. As a further example, the firstservice can comprise broadband Internet service, premises securityservice, video service, telephony service, e.g., VoIP service, or acombination thereof. In an aspect, the first service can be provided viaa first network device such as a premises network device.

In step 604, a second service can be provided. As an example, the secondservice can comprise IPv4 NAT service, DHCPv4 server and client service,IPv6 routing and security service, IPv6 neighbor discovery, IPv6 routerdiscovery, or IPv6 server and client service, or a combination thereof.As a further example, the second service can comprise broadband Internetservice, premises security service, video service, telephony service,e.g., VoIP service, or a combination thereof. In an aspect, the secondservice can be provided via a second network device, such as a premisesnetwork device. As a further example, the first service is differentfrom the second service. As such, one or more devices can provide thefirst service, while one or more other devices can provide the secondservice. In another aspect, one or more of the first network device andthe second network device can support. IPv4 or IPv6 or both.

In step 606, a conflict can be detected. In an aspect, the conflict canbe detected between the first network device and the second networkdevice (or other devices). As an example, the conflict can relate toproviding one or more of the first service and the second service.Example conflicts include the presence of two or more DHCP servers forIPv4 or IPv6 or two or more IPv6 routers advertising themselves as thedefault route to the Internet or other remote resources. As anotherexample, the conflict can comprise an authoritative conflict oroverlapping IP configuration on the network, or a combination thereof.As a further example, the conflict can be an intentional conflictimplemented between devices and/or services.

In step 608, the conflict can be resolved. In an aspect, one or more ofthe first network device and the second network device can beautomatically configured to resolve the detected conflict. As anexample, one or more of the first network device and the second networkdevice can be configured as an authoritative device of the network inorder to resolve the conflict. As another example, one or more devicessuch as the authoritative device can monitor and detect the existence ofother devices that are attempting to provide services and/or monitor anddetect the existence of other devices that are attempting to use thesame IP configuration of the intended authoritative device. As a furtherexample, the one or more devices such as the authoritative device canimpede or prohibit authoritative challenges or takeover by anotherdevice.

In an aspect, FIG. 7 illustrates an exemplary method for managing anetwork. In step 702, a network can be detected (e.g., discovered). Inan aspect, the network can have a first network device associatedtherewith. In another aspect, the first network device can be a networkdevice supporting IPv4 or IPv6 or both. As an example, the network canbe a LAN associated with a particular premise, such as a user's home oroffice, or the like. As an example, detecting a network can compriserequesting an IPv4 address. As a further example, detecting a networkcan comprise neighbor discovery (e.g., IPv6 functionality). If alignmentis required with IPv4, address resolution protocol may be used.

In step 704, a network device can be configured to join the network. Inan aspect, the joining device can join the network by automaticallyconfiguring itself with IP parameters for IPv4 and/or IPv6 and/oractivating a DHCP server for IPv4 and/or IPv6 and/or activating itselfan IP router for IPv4 and/or IPv6. In another aspect, the network devicecan be a second network device joining a network shared by a firstnetwork device. Other techniques can be implemented.

In step 706, first availability information can be provided (e.g.,accessed, received, broadcast, discovered, etc.). In an aspect, thefirst availability information can relate to one or more first servicesavailable via the network. The first network device can be configured toprovide the one or more first services. As an example, the first servicecan comprise IPv4 NAT service, DHCPv4 server and client service, IPv6routing and security service, IPv6 neighbor discovery, IPv6 routerdiscovery, or IPv6 server and client service, or a combination thereof.As a further example, the first service can comprise broadband Internetservice, premises security service, video service, VoIP service, or acombination thereof. In an aspect, the first service can be provided viaa first network device such as a premises network device.

In step 708, second availability information can be provided (e.g.,accessed, received, broadcast, discovered, etc.). In an aspect, thesecond availability information can relate to one or more secondservices available via the network. The second network device can beconfigured to provide the one or more second services. As an example,the second service can comprise IPv4 NAT service, DHCPv4 server andclient service, IPv6 routing and security service, IPv6 neighbordiscovery, IPv6 router discovery, or IPv6 server and client service, ora combination thereof. As a further example, the second service cancomprise broadband Internet service, premises security service, videoservice, VoIP service, or a combination thereof.

In an aspect, a user device can request or access one or more of thefirst availability information and the second availability information.The one or more of the first availability information and the secondavailability information can facilitate the delivery of related servicesto the user device. As an example, the user device can use the firstavailability information to access services provided by the firstnetwork device, while using the second availability information toaccess services provided by the second network device. Availabilityinformation can comprise service discovery communications within thepremises that allow end points to locate the desired resources on thelocal or remote network including node name to IP address mapping,network routing information, or application layer controls that enablecontent and services using Internet protocols.

In an aspect, provided are methods for managing a network. An exemplarymethod is shown in FIG. 8. In step 802, a network can be provided (e.g.,detected, discovered, provisioned, generated, etc.). In an aspect, thenetwork can have a first network device associated therewith. In anotheraspect, the first network device can be a network device supporting IPv4or IPv6 or both. As an example, the network can be a LAN associated witha particular premise, such as a user's home or office, or the like. Asan example, detecting a network can comprise requesting an IPv4 address.As a further example, detecting a network can comprise neighbordiscovery (e.g., IPv6 functionality). If alignment is required withIPv4, address resolution protocol may be used.

In step 804, a network device can be configured to join the network. Inan aspect, the joining device can join the network by automaticallyconfiguring itself with IP parameters for IPv4 and/or IPv6 and/oractivating a. DHCP server for IPv4 and/or IPv6 and/or activating itselfan IP router for IPv4 and/or IPv6. In another aspect, the network devicecan be a second network device joining a network shared by a firstnetwork device. In another aspect, the first network device can beassociated with a first service provider and the second network devicecan be associated with a second service provider. The first serviceprovider can be the same or different from the second network provider.

In step 806, first information can be received or accessed via one ormore of the first network device and the second network device. In anaspect, the first information can relate to a service such as broadbandInternet service, premises security service, video service, telephonyservice, VoIP service, or a combination thereof. The first informationcan comprise a request for service, command information, controlinformation, or a combination thereof. As an example, the firstinformation can comprise an authenticatable request to provide service.As a further example, the first information can comprise command andcontrol information relating to a service.

In step 808, second information can be provided (e.g., transmitted,presented) via one or more of the first network device and the secondnetwork. In an aspect, the second information can be provided based onthe first information received. The second information can relate to aservice such as broadband Internet service, premises security service,video service, telephony service, VOW service, or a combination thereof.As an example, the service can relates to providing content and thesecond information can comprise the content provided.

In an aspect, one of the first network device and the second networkdevice can request a service be provided. In another aspect, the servicecan be provided via the non-requesting network device. As an example,the second network device can request the delivery of data (e.g.,content), but the delivery of the requested data is provided via thefirst network device. As another example, the first network device canprovide command and control information to the first service provider,but the actual command and control can be implemented via a serviceprovided via the second network device associated with the secondservice provider. As a further example, the first network device canauthenticate a request for service with a first service provider. Onceauthenticated, the requested service can be provided via the secondnetwork device, which may not be associated with the first serviceprovider.

While the methods and systems have been described in connection withpreferred embodiments and specific examples, it is not intended that thescope be limited to the particular embodiments set forth, as theembodiments herein are intended in all respects to be illustrativerather than restrictive.

Unless otherwise expressly stated, it is in no way intended that anymethod set forth herein be construed as requiring that its steps beperformed in a specific order. Accordingly, where a method claim doesnot actually recite an order to be followed by its steps or it is nototherwise specifically stated in the claims or descriptions that thesteps are to be limited to a specific order, it is no way intended thatan order be inferred, in any respect. This holds for any possiblenon-express basis for interpretation, including: matters of logic withrespect to arrangement of steps or operational flow, plain meaningderived from grammatical organization or punctuation; the number or typeof embodiments described in the specification.

It will be apparent to those skilled in the art that variousmodifications and variations can be made without departing from thescope or spirit. Other embodiments will be apparent to those skilled inthe art from consideration of the specification and practice disclosedherein. It is intended that the specification and examples be consideredas exemplary only, with a true scope and spirit being indicated by thefollowing claims.

What is claimed is:
 1. A method comprising: performing, by a firstnetwork device, neighbor discovery; determining, based on the neighbordiscovery, that a first authoritative network device associated with afirst protocol is present in a network; in response to determining thatthe first authoritative network device is present in the network,joining the network; transmitting a request for an internet protocoladdress associated with a second protocol; determining that a responseto the request is not received; in response to determining that theresponse to the request is not received, determining that a secondauthoritative network device associated with the second protocol is notpresent in the network; and in response to determining that the secondauthoritative network device is not present in the network, assumingauthority, in the network, for the second protocol.
 2. The method ofclaim 1, wherein the first protocol is IPv6.
 3. The method of claim 1,wherein the second protocol is IPv4.
 4. The method of claim 1, whereinthe first network device supports Dynamic Host Configuration Protocol(DHCP).
 5. The method of claim 1, wherein the first network devicefacilitates one or more services based on one or more of the firstprotocol or the second protocol.
 6. A method comprising: performing, bya first network device, neighbor discovery; determining, based on theneighbor discovery, that a first authoritative network device associatedwith a first protocol is not present in a network; in response todetermining that the first authoritative network device is not present,assuming authority, in the network, for the first protocol; transmittinga request for an internet protocol address associated with a secondprotocol; determining that a response to the request is received; inresponse to determining that the response to the request is received,determining that a second authoritative network device associated withthe second protocol is present in the network; and in response todetermining that the second authoritative network device is present inthe network, joining the network.
 7. The method of claim 6, wherein thefirst protocol is IPv6.
 8. The method of claim 6, wherein the secondprotocol is IPv4.
 9. The method of claim 6, further comprising:broadcasting first information via the first network device, the firstinformation relating to a service, wherein the first network device isassociated with a first service provider, and wherein the firstinformation comprises a request for the service; and broadcasting, bythe first network device, based on the first information, secondinformation via a second network device, wherein the second informationfacilitates provision of the service.
 10. The method of claim 9, whereinthe service comprises broadband Internet service, premises securityservice, video service, telephony service, VoIP service, or acombination thereof.
 11. The method of claim 9, wherein the servicerelates to providing content and the second information comprises thecontent provided.
 12. A method comprising: performing, by a firstnetwork device, neighbor discovery; determining, based on the neighbordiscovery, that a first authoritative network device associated with afirst protocol is not present in a network; in response to determiningthat the first authoritative network device is not present in thenetwork, assuming authority, in the network, for the first protocol;transmitting a request for an internet protocol address associated witha second protocol; determining that a response to the request is notreceived; in response to determining that the response to the request isnot received, determining that a second authoritative network deviceassociated with the second protocol is not present in the network; andin response to determining that the second authoritative network deviceis not present in the network, assuming authority, in the network, forthe second protocol.
 13. The method of claim 12, wherein the firstprotocol is IPv6.
 14. The method of claim 13, wherein the secondprotocol is IPv4.
 15. The method of claim 13, wherein the first networkdevice supports Dynamic Host Configuration Protocol (DHCP).
 16. Themethod of claim 12, further comprising: transmitting, by a secondnetwork device to a third network device, first availability informationrelating to one or more first services available via the network,wherein the first network device is configured to provide the one ormore first services; and transmitting, via the second network device tothe third network device, second availability information relating toone or more second services available via the network, wherein the firstnetwork device is configured to provide the one or more second services.17. The method of claim 16, wherein one or more of the one or more firstservices and the one or more second services comprise IPv4 networkaddress translation (NAT) and routing service, IPv4 address resolutionprotocol (ARP), Dynamic Host Configuration Protocol version 4(DHCPv4)server and client service, Dynamic Host Configuration Protocol version6(DHCPv6), IPv6 routing and security service, IPv6 neighbor discovery,IPv6 router discovery, IPv6 server and client service, or combinationsthereof.
 18. The method of claim 16, wherein one or more of the one ormore first services and the one or more second services comprisebroadband Internet service, premises security service, video service,telephony service, VoIP service, or combinations thereof.
 19. The methodof claim 12, further comprising: determining, by the first networkdevice, that another device in the network is attempting to provide oneor more services associated with the first protocol; and in response todetermining that the another device is attempting to provide the one ormore services associated with the first protocol, denying the attempt.20. The method of claim 12, further comprising: determining, by thefirst network device, that another device in the network is attemptingto provide one or more services associated with the second protocol; andin response to determining that the another device is attempting toprovide the one or more services associated with the second protocol,denying the attempt.